由面试引发的思考:BS与CS究竟是何物 |
您所在的位置:网站首页 › cs是什么缩写 服务 › 由面试引发的思考:BS与CS究竟是何物 |
由⾯试引发的思考: BS 与 CS 究竟是何物 ⼀、现状说明: 就在这⾦三银四的求职黄⾦时期,我有幸作为公司的独⽴技术⾯试官,拥有最终决定录⽤权,在倍受上级领导的充分信任下,我也向上级保 证,⼀定要为公司找到合适的⼈才,就在我满怀信⼼的情况下⾯试了⼀个⼜⼀个的求职者,发现了⼤多数求职者共同的问题,⼀是:眼⾼⼿ 低,即⼯作年限虽长,但受⼯作内容及个⼈原因,基础知识薄弱,很多技术使⽤了 N 年,却不明⽩其原理,可以说是:只知道这样⽤,但为 什么要这样⽤,能否有别的解决⽅案从来都没有去考虑过或总结过,知识的⼴度就更不⽤说了,薪资期望却都很⾼。⼆是: B/S 与 C/S 分不 清,认为 B/S 就是做与⽹页有关的东西,可以涉及到的技术点多,如: JS\CSS\HTML\C#\MVC ,只想从事 B/S ⽅向的⼯作内容,觉得其热门 与流⾏,⽽认为 C/S 就是做客户端桌⾯程序,如: WINFORM,WPF ;觉得其太简单了或没有发展前景,那么实事是这样吗?本⽂主要就是来 谈谈 B/S 与 C/S 究竟为何物,它们之间到底有什么异同点。 ⼆、 B/S B/S 即: Browser 与 Server, 中⽂意思:浏览器端与服务器端架构,这种架构是从⽤户层⾯来划分的, Browser 浏览器,其实也是⼀种 Client 客户端,只是这个客户端不需要⼤家去安装什么应⽤程序,只需在浏览器上通过 HTTP 请求服务器端相关的资源(⽹页资源),客户 端 Browser 浏览器就能进⾏增删改查。不依赖⽤户的电脑操作系统环境,只与浏览器环境有关,当然由于⽹页复杂性,⼜延伸出⽹页前端技 术与后端技术,前端技术指的是在浏览器上编程的技术,⽐如: JS,HTML,CSS ,这些前端技术是运⾏在客户端 Browser 浏览器上的,⽽并⾮ 在服务器端,如果不信,可以测试⼀下,当你的页⾯中包含 JS 脚本时,若将浏览器属性中的禁⽤ JS 启⽤,你会发现页⾯中那些依赖 JS 的技 术都没办法使⽤。后端技术指的是运⾏在服务器上编程的技术(也就是 Server 端),⽐如: C#,JAVA ,这些编程技术与我们通常所理解的 C# 编程, JAVA 编程是⼀样的,只是这⾥需要考虑到基于 HTTP 协议的编程。架构图如下所⽰: 三、 C/S C/S 即: Client 与 Server ,中⽂意思:客户端与服务器端架构,这种架构也是从⽤户层⾯(也可以是物理层⾯)来划分的,这⾥的客户端 ⼀般泛指客户端应⽤程序 EXE ,程序需要先安装后,才能运⾏在⽤户的电脑上,对⽤户的电脑操作系统环境依赖较⼤,⽐如:若想运⾏基于 WINFORM 开发的 EXE 程序,必需要先在电脑上安装 .NET FRAMEWORK 组件,否则⽆法正常运⾏。 Server 端这⾥是⼀个⾮必要的部份,若 客户端是⼀个单机应⽤程序,⽆需数据库或其它分布式技术,那么 Server 端是可以省略的,若客户端需要数据库或其它分布式技术,那么这 ⾥的 Server 端指的是数据库服务器端或其它分布式技术( WEB API,WEB SERVICE 等)所在的服务器端。架构图如下所⽰: 四、 B/S 与 C/S 异同点 B/S 与 C/S 的共同点从英⽂缩写都能看得出来,都有 S ,这个 S 指的是服务器端 ( 应⽤程序后端 ) ,服务器端只是⼀个统称,具体细分的话, 有:应⽤程序服务器端、数据库服务器端、缓存服务器端、⽂件服务器端等,不同点同样也可从英⽂缩写中看得出,那就是 B 与 C 的区别, 从前⾯分别介绍与 B/S 与 C/S 得知, B 指的是浏览器端, C 指的是客户端,但是如果从⼴义的⾓度来说, B 同样也是⼀种客户端,浏览器同样 需要安装,不安装同样 B/S 结构也⼀样不能⼯作,只是⼀般浏览器都默认安装罢了,从架构的层⾯来讲, B/S 与 C/S 的唯⼀区别就是展现层不 同, B/S 可能需要懂⽹页前端技术 ,C/S 可能需要懂 WINFORM,WPF 等应⽤前端技术,其余全部都相同,如果单纯讲从事 C# 或 JAVA 后端开 发,那么 B/S 与 C/S 就是⼀样的,都是利⽤ C# 或 JAVA 之类的动态语⾔为展现层提供资源或对资源进⾏相关的处理。如果⼀个公司分⼯明确的 话,那么 C# 或 JAVA ⼯程师所应该做的事情就是后端开发,与前端⽆关,也就没有必要强调 B/S 与 C/S 了,当然懂点前端技术更好,可以为⾃ ⼰的技术锦上添花,但如果要让公司为你懂得前端技术⽽买单(提⾼⼯资待遇)【全栈⼯程师除外】那多半有点⼀厢情愿了,换作我是⽼ 板,我肯定更愿意找专业的前端与专业的后端,这种前后端都略懂,但都不够专业的,还不如不要。 B/S 与 C/S 的统⼀架构如下图⽰: 为了让新⼿们能够理解上述 B/S 与 C/S 合⼆为⼀的架构图,我写了⼀个⾮常简单的 DEMO ,以体现 B/S 与 C/S 的共同点与不同点,代码如下: Server 端: namespace Demo.Server { public static class Logic { public static int Add(int a, int b) { return a + b; } } } Browser 端(后端 - 属于 Server 端,但有别于上⾯的单独 Server 层,这⾥需要引⽤ Server 层): namespace Demo.Browser { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { TextBox3.Text=Demo.Server.Logic.Add(int.Parse(TextBox1.Text), int.Parse(TextBox2.Text)).ToString(); } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |